605 research outputs found
Energyware engineering: techniques and tools for green software development
Tese de Doutoramento em Informática (MAP-i)Energy consumption is nowadays one of the most important concerns worldwide. While
hardware is generally seen as the main culprit for a computer’s energy usage, software
too has a tremendous impact on the energy spent, as it can cancel the efficiency introduced
by the hardware. Green Computing is not a newfield of study, but the focus has been,
until recently, on hardware. While there has been advancements in Green Software techniques,
there is still not enough support for software developers so they can make their
code more energy-aware, with various studies arguing there is both a lack of knowledge
and lack of tools for energy-aware development.
This thesis intends to tackle these two problems and aims at further pushing
forward research on Green Software. This software energy consumption issue is faced
as a software engineering question. By using systematic, disciplined, and quantifiable
approaches to the development, operation, and maintenance of software we defined several
techniques, methodologies, and tools within this document. These focus on providing
software developers more knowledge and tools to help with energy-aware software
development, or Energyware Engineering.
Insights are provided on the energy influence of several stages performed during
a software’s development process. We look at the energy efficiency of various popular
programming languages, understanding which are the most appropriate if a developer’s
concern is energy consumption. A detailed study on the energy profiles of different
Java data structures is also presented, alongwith a technique and tool, further providing
more knowledge on what energy efficient alternatives a developer has to choose from. To
help developers with the lack of tools, we defined and implemented a technique to detect
energy inefficient fragments within the source code of a software system. This technique
and tool has been shown to help developers improve the energy efficiency of their programs,
and even outperforming a runtime profiler. Finally, answers are provided to common questions and misconceptions within
this field of research, such as the relationship between time and energy, and howone can
improve their software’s energy consumption.
This thesis provides a great effort to help support both research and education on
this topic, helps continue to grow green software out of its infancy, and contributes to
solving the lack of knowledge and tools which exist for Energyware Engineering.Hoje em dia o consumo energético é uma das maiores preocupações a nível global. Apesar
do hardware ser, de umaforma geral, o principal culpado para o consumo de energia
num computador, o software tem também um impacto significativo na energia consumida,
pois pode anular, em parte, a eficiência introduzida pelo hardware. Embora
Green Computing não seja uma área de investigação nova, o foco tem sido, até recentemente,
na componente de hardware. Embora as técnicas de Green Software tenham
vindo a evoluir, não há ainda suporte suficiente para que os programadores possam
produzir código com consciencialização energética. De facto existemvários estudos que
defendem que existe tanto uma falta de conhecimento como uma escassez de ferramentas
para o desenvolvimento energeticamente consciente.
Esta tese pretende abordar estes dois problemas e tem como foco promover avanços
em green software. O tópico do consumo de energia é abordado duma perspectiva
de engenharia de software. Através do uso de abordagens sistemáticas, disciplinadas
e quantificáveis no processo de desenvolvimento, operação e manutencão de software,
foi possível a definição de novas metodologias e ferramentas, apresentadas neste documento.
Estas ferramentas e metodologias têm como foco dotar de conhecimento e
ferramentas os programadores de software, de modo a suportar um desenvolvimento
energeticamente consciente, ou Energyware Engineering.
Deste trabalho resulta a compreensão sobre a influência energética a ser usada
durante as diferentes fases do processo de desenvolvimento de software. Observamos as
linguagens de programação mais populares sobre um ponto de vista de eficiência energética,
percebendo quais as mais apropriadas caso o programador tenha uma preocupação
com o consumo energético. Apresentamos também um estudo detalhado sobre perfis energéticos de diferentes
estruturas de dados em Java, acompanhado por técnicas e ferramentas, fornecendo
conhecimento relativo a quais as alternativas energeticamente eficientes que os programadores
dispõem. Por forma a ajudar os programadores, definimos e implementamos
uma técnica para detetar fragmentos energicamente ineficientes dentro do código fonte
de um sistema de software. Esta técnica e ferramenta têm demonstrado ajudar programadores
a melhorarem a eficiência energética dos seus programas e em algum casos
superando um runtime profiler.
Por fim, são dadas respostas a questões e conceções erradamente formuladas dentro
desta área de investigação, tais como o relacionamento entre tempo e energia e como
é possível melhorar o consumo de energia do software.
Foi empregue nesta tese um esforço árduo de suporte tanto na investigação como
na educação relativo a este tópico, ajudando à maturação e crescimento de green computing,
contribuindo para a resolução da lacuna de conhecimento e ferramentas para
suporte a Energyware Engineering.This work is partially funded by FCT – Foundation for Science and Technology, the
Portuguese Ministry of Science, Technology and Higher Education, through national funds,
and co-financed by the European Social Fund (ESF) through the Operacional Programme for
Human Capital (POCH), with scholarship reference SFRH/BD/112733/2015. Additionally,
funding was also provided the ERDF – European Regional Development Fund – through
the Operational Programmes for Competitiveness and Internationalisation COMPETE and
COMPETE 2020, and by the Portuguese Government through FCT project Green Software
Lab (ref. POCI-01-0145-FEDER-016718), by the project GreenSSCM - Green Software for
Space Missions Control, a project financed by the Innovation Agency, SA, Northern Regional
Operational Programme, Financial Incentive Grant Agreement under the Incentive Research
and Development System, Project No. 38973, and by the Luso-American Foundation in
collaboration with the National Science Foundation with grant FLAD/NSF ref. 300/2015 and
ref. 275/2016
Energy efficient software in an engineering course
Sustainable development has become an increasingly important theme not only in the world politics, but also an increasingly central theme for the engineering professions around the world. Software
engineers are no exception as shown in various recent research studies.
Despite the intensive research on green software, today’s undergraduate
computing education often fails to address our environmental responsibility. We present a module on energy efficient software that we introduced
as part of an advanced course on software analysis and testing. In this
module we study techniques and tools to analyze and optimize energy
consumption of software systems. Preliminary results of the first four instances of this course show that students are able to optimize the energy
consumption of software systems.ERDF European Regional Development Fund
through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme within project POCI-01-0145-FEDER006961, and by National Funds through the Portuguese funding agency, FCT -
Fundação para a Ciência e a Tecnologia within project POCI-01-0145-FEDER016718 and UID/EEA/50014/2013
Querying for model-driven spreadsheetsd
Dissertação de mestrado em Engenharia InformáticaSpreadsheets are used for a diverse number of objectives, that range from simple applications
to complete information systems. In all of these cases, they are frequently used as data
repositories that can grow tremendously in size, and as the amount of the data grows, the
frustration and challenge to withdraw information out of them also grows.
This Thesis project focuses on the problem of spreadsheet querying. Speci cally, the
objective is to meticulously and carefully study competing query languages, and proposing
our very own expressive and composable query language to be used in spreadsheets,
where intuitive queries can be de ned. This approach builds on a model-driven spreadsheet
development environment, and queries are expressed referencing ClassSheet model entities
instead of the actual data. Furthermore, this language shall be integrated into the MDSheet
framework, taking into account evolution mechanisms, auto-generation of models for query
results, and shall rely on Google's QUERY function for spreadsheets.As folhas de c alculo s~ao utilizadas para diversos ns, desde aplica c~oes simples at e sistemas
de informa c~ao completos. Entre todos estes casos, s~ao frequentemente utilizadas
para armazenar grandes volumes de dados, sendo que, a medida que o reposit orio cresce, a
frusta c~ao e o desa o de recolher informa c~ao tamb em aumenta. O projeto desta disserta c~ao
foca-se no problema da consulta e interroga c~ao de folhas de c alculo. Especi camente, o
objetivo e estudar de forma cuidada e meticulosa diversas linguagens de interroga c~ao existentes,
e prop^or a nossa pr opria linguagem para ser utilizada em folhas de c alculo, que se
caracteriza por ser uma linguagem expressiva, que possibilita a composi c~ao de interroga c~oes
e a de ni c~ao das mesmas de forma intuitiva.
A abordagem a utilizar passa pela utiliza c~ao de folhas de c alculo dirigidas por modelos,
sendo as interroga c~oes expressas atrav es de entidades do modelo ClassSheet em vez de dados
em concreto. Al em disto, a linguagem desenvolvida ser a integrada no framework MDSheet,
considerando diversos mecanismos de evolu c~ao, gera c~ao autom atica de modelos para os resultados
de uma interroga c~ao, e ser a baseada na fun c~ao QUERY desenvolvida pela Google
para a interroga c~ao de folhas de c alculo
Bringing green software to computer science curriculum: perspectives from researchers and educators
Only recently has the software engineering community started
conducting research on developing energy efficient software, or
green software. This is shadowed when compared to the research
already produced in the computer hardware community. While
research in green software is rapidly increasing, several recent
studies with software engineers show that they still miss techniques,
knowledge, and tools to develop greener software. Indeed, all such
studies suggest that green software should be part of a modern
Computer Science Curriculum.
In this paper, we present survey results from both researchers’
and educators’ perspective on green software education. These
surveys confirm the lack of courses and educational material for
teaching green software in current higher education. Additionally, we highlight three key pedagogical challenges in bringing
green software to computer science curriculum and discussed existing solutions to address these key challenges. We firmly believe
that “green thinking” and the broad adoption of green software in
computer science curriculum can greatly benefit our environment,
society, and students in an era where software is everywhere and
evolves in an unprecedented speed.Portuguese Funding Agency (FCT - Fundação para a Ciência e a Tecnologia, within project UIDB/50014/2020) and the U.S. National
Science Foundation (NSF) under grant no. CNS-1305359. We also
thank the reviewers for their valuable comments and acknowledge the support of the Erasmus+ Key Action 2 project No. 2020-
1-PT01-KA203-078646: “SusTrainable - Promoting Sustainability
as a Fundamental Driver in Software Development Training and
Education"
Graphical querying of model-driven spreadsheets
This paper presents a graphical interface to query modeldriven spreadsheets, based on experience with previous work and empirical studies in querying systems, to simplify query construction for typical end-users with little to no knowledge of SQL. We briefly show our previous text based model-driven querying system. Afterwards, we detail our graphical model-driven querying interface, explaining each part of the interface and showing an example. To validate our work, we executed
an empirical study, comparing our graphical querying approach to an alternative querying tool, which produced positive results.(undefined
Paint your programs green: on the energy efficiency of data structures
This tutorial aims to provide knowledge on a different facet of efficiency in data structures: energy efficiency. As many recent studies have shown, the main roadblock in regards to energy efficient software development are the misconceptions and heavy lack of support and knowledge, for energy-aware development, that programmers have. Thus, this tutorial aims at helping provide programmers more knowledge pertaining to the energy efficiency of data structures.
We conducted two in-depth studies to analyze the performance and energy efficiency of various data structures from popular programming languages: Haskell and Java. The results show that within the Haskell programming language, the correlation between performance and energy consumption is statistically almost identical, while there are cases with more variation within the Java language. We have presented which data structures are more efficient for common operations, such as inserting and removing elements or iterating over the data structure.
The results from our studies can help support developers in better understanding such differences within data structures, allowing them to carefully choose the most adequate implementation based on their requirements and goals. We believe that such results will help further close the gap when discussing the lack of knowledge in energy efficient software development.(undefined
Ranking programming languages by energy efficiency
This paper compares a large set of programming languages regarding their
efficiency, including from an energetic point-of-view. Indeed, we seek to establish
and analyze different rankings for programming languages based on their energy
efficiency. The goal of being able to rank languages with energy in mind is a
recent one, and certainly deserves further studies.
We have taken 19 solutions to well defined programming problems, expressed
in (up to) 27 programming languages, from well know repositories such as the
Computer Language Benchmark Game and Rosetta Code. We have also built a
framework to automatically, and systematically, run, measure and compare the
efficiency of such solutions. Ultimately, it is based on such comparison that we
propose a serious of efficiency rankings, based on multiple criteria.
Our results show interesting findings, such as, slower/faster languages consuming less/more energy, and how memory usage influences energy consumption. We also show how to use our results to provide software engineers support
to decide which language to use when energy efficiency is a concern(University of Porto) for the help that he
provided. This work is financed by the ERDF – European Regional Development
Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme within project POCI-01-0145-FEDER-006961,
and by National Funds through the Portuguese funding agency, FCT - Funda¸c˜ao para a
Ciˆencia e a Tecnologia within project POCI-01-0145-FEDER-016718 and UID/EEA/50014/2013.
The first and second authors are also sponsored by FCT grants SFRH/BD/112733/2015
and SFRH/BD/132485/201
MAMMALS IN PORTUGAL : A data set of terrestrial, volant, and marine mammal occurrences in P ortugal
Mammals are threatened worldwide, with 26% of all species being includedin the IUCN threatened categories. This overall pattern is primarily associatedwith habitat loss or degradation, and human persecution for terrestrial mam-mals, and pollution, open net fishing, climate change, and prey depletion formarine mammals. Mammals play a key role in maintaining ecosystems func-tionality and resilience, and therefore information on their distribution is cru-cial to delineate and support conservation actions. MAMMALS INPORTUGAL is a publicly available data set compiling unpublishedgeoreferenced occurrence records of 92 terrestrial, volant, and marine mam-mals in mainland Portugal and archipelagos of the Azores and Madeira thatincludes 105,026 data entries between 1873 and 2021 (72% of the data occur-ring in 2000 and 2021). The methods used to collect the data were: live obser-vations/captures (43%), sign surveys (35%), camera trapping (16%),bioacoustics surveys (4%) and radiotracking, and inquiries that represent lessthan 1% of the records. The data set includes 13 types of records: (1) burrowsjsoil moundsjtunnel, (2) capture, (3) colony, (4) dead animaljhairjskullsjjaws, (5) genetic confirmation, (6) inquiries, (7) observation of live animal (8),observation in shelters, (9) photo trappingjvideo, (10) predators dietjpelletsjpine cones/nuts, (11) scatjtrackjditch, (12) telemetry and (13) vocalizationjecholocation. The spatial uncertainty of most records ranges between 0 and100 m (76%). Rodentia (n=31,573) has the highest number of records followedby Chiroptera (n=18,857), Carnivora (n=18,594), Lagomorpha (n=17,496),Cetartiodactyla (n=11,568) and Eulipotyphla (n=7008). The data setincludes records of species classified by the IUCN as threatened(e.g.,Oryctolagus cuniculus[n=12,159],Monachus monachus[n=1,512],andLynx pardinus[n=197]). We believe that this data set may stimulate thepublication of other European countries data sets that would certainly contrib-ute to ecology and conservation-related research, and therefore assisting onthe development of more accurate and tailored conservation managementstrategies for each species. There are no copyright restrictions; please cite thisdata paper when the data are used in publications.info:eu-repo/semantics/publishedVersio
Mammals in Portugal: a data set of terrestrial, volant, and marine mammal occurrences in Portugal
Mammals are threatened worldwide, with ~26% of all species being included in the IUCN threatened categories. This overall pattern is primarily associated with habitat loss or degradation, and human persecution for terrestrial mammals, and pollution, open net fishing, climate change, and prey depletion for marine mammals. Mammals play a key role in maintaining ecosystems functionality and resilience, and therefore information on their distribution is crucial to delineate and support conservation actions. MAMMALS IN PORTUGAL is a publicly available data set compiling unpublished georeferenced occurrence records of 92 terrestrial, volant, and marine mammals in mainland Portugal and archipelagos of the Azores and Madeira that includes 105,026 data entries between 1873 and 2021 (72% of the data occurring in 2000 and 2021). The methods used to collect the data were: live observations/captures (43%), sign surveys (35%), camera trapping (16%), bioacoustics surveys (4%) and radiotracking, and inquiries that represent less than 1% of the records. The data set includes 13 types of records: (1) burrows | soil mounds | tunnel, (2) capture, (3) colony, (4) dead animal | hair | skulls | jaws, (5) genetic confirmation, (6) inquiries, (7) observation of live animal (8), observation in shelters, (9) photo trapping | video, (10) predators diet | pellets | pine cones/nuts, (11) scat | track | ditch, (12) telemetry and (13) vocalization | echolocation. The spatial uncertainty of most records ranges between 0 and 100 m (76%). Rodentia (n =31,573) has the highest number of records followed by Chiroptera (n = 18,857), Carnivora (n = 18,594), Lagomorpha (n = 17,496), Cetartiodactyla (n = 11,568) and Eulipotyphla (n = 7008). The data set includes records of species classified by the IUCN as threatened (e.g., Oryctolagus cuniculus [n = 12,159], Monachus monachus [n = 1,512], and Lynx pardinus [n = 197]). We believe that this data set may stimulate the publication of other European countries data sets that would certainly contribute to ecology and conservation-related research, and therefore assisting on the development of more accurate and tailored conservation management strategies for each species. There are no copyright restrictions; please cite this data paper when the data are used in publications
revista do Mestrado em Teorias da arte da Faculdade de Belas Artes da Universidade de Lisboa
info:eu-repo/semantics/publishedVersio
- …